# open打开文件并获取文件描述符，open方法默认采用读模式 r w a

with open(file="/root/qianfeng/day3/hello.txt", mode="w") as fd:
# fd.write("今天是星期四\n明天又是一个期盼的星期五")
    print(fd.name) # 文件的名字
    print(fd.mode) # 文件打开时的模式
    print(fd.closed) # 当前文件是否被关闭


# python 文件读操作

# 打开hello文件
with open("./hello.txt", mode="r") as f:
    print(f.read(15)) # 读取文件的指定字符，不写参数是全部字符
    print(f.readline()) # 读取行，如果给定的字符数不满足一行，则显示字符数，如果满足一行，则显示当前行
    print(f.readlines(25)) # 读取文件，并把所有行放到一个列表中，如果给定大小，且大小不超过1行则输出1行，如果超过1行则输出2行


# python 文件写操作

with open("./world.txt", mode='w') as f:
    # f.write("你好\n我叫\n小明") # 将字符串写入到文件中
    f.writelines(["hello\n","world\n","ni\n","hao\n"])


import requests, json
# 将接口请求的数据存储到文件中

filename = "./data.json"
appKey = '877c593ab7f03d8043b06a8bd0d49eca'
apiUrl = 'http://v.juhe.cn/todayOnhistory/queryEvent.php'
size = 50
apitype = "hot_video"
result = requests.get(url=apiUrl, params={"key": appKey, "date": "7/11"})
data = result.json()
# 打开文件并写入内容
with open(file=filename, mode="w+") as f:
    # f.write(data) # 这种方法写入json无法格式化
    json.dump(data,f, indent="  ", ensure_ascii=False)


# 取出文件中的json数据

with open(file="./data.json", mode="r+") as f:
    data = json.load(f)
print(type(data))


# 下载图片并写入
r = requests.get(url="https://gips3.baidu.com/it/u=4283915297,3700662292&fm=3028&app=3028&f=JPEG&fmt=auto?w=1440&h=2560")

# 100 正常，但是请求还未结束
# 200 请求正常  200
# 300 跳转，请求正常 301 302 307
# 400 客户端错误 400 401 403 404
# 500 服务端错误 500 502 503 504



if r.status_code == 200:
    with open(file="./ai.jpg", mode='wb') as f:
        f.write(r.content)